export class Gear{
  constructor(z = 17, m = 2, alpha = 20, b = 20, rho = 0.38, haC = 1, cC = 0.25, beta = 0, x = 0) {
    /**
     * 齿数 z
     */
    this.teethNumber = z;
    /**
     * 模数 m
     */
    this.module = m;
    /**
     * 压力角 α
     */
    this.alpha = alpha;
    /**
     * 齿宽 b
     */
    this.teethWidth = b;
    /**
     * 齿根圆角半径 ρfp = h / 2 * m
     * GB: 0.38m
     * options: [0.25, 0.3, 0.38, 0.39]
     */
    this.toothFilterR = rho * m;
    /**
     * 旋转角 β
     */
    this.beta = beta;
    /**
     * 齿顶高系数 ha*
     * ha* = ha / m
     * 正常齿：1
     * 短齿：0.8
     * ha: 齿顶高，分度圆到齿顶圆之间的径向距离
     */
    this.addendumCoefficient = haC;
    /**
     * 顶隙系数 c*
     * c* = c / m
     * 正常齿：0.25
     * 短齿：0.3
     * c: 顶隙，啮合时自身齿根与配合齿轮齿顶之间的径向距离
     */
    this.clearanceCoefficient = cC;
    /*
    变位系数 x
     */
    this.modification = x;
  }
}